				//1. INTERSECTION 9 INFORMATION
				int[] C = new int[] {84,85,86,87,88,89,90,91,92,93,94,95,208,209,210,211,212,213,214,215,222,240,241,242,243,244,};
				int[] CR = new int[] {86,92,208,240,};
				int[] CS = new int[] {85,91,215,222,};
				int[] C1 = new int[] {84,87,88,89,90,93,94,95,209,210,211,212,213,214,241,242,243,244,};
				int[] C2 = new int[] {84,85,87,88,89,90,91,93,94,95,209,210,211,212,213,214,215,222,241,242,243,244,};
				int[] C3 = new int[] {84,86,87,88,89,90,92,93,94,95,208,209,210,211,212,213,214,240,241,242,243,244,};
				int[] CI = new int[] {87,88,89,93,94,95,212,213,214,242,243,244,};
				int[][] SignalGroup = new int[][] {{9,6,1},{9,6,0},{9,1,2},{9,2,1},{9,5,2},{9,2,0},{9,7,2},{9,4,0},{9,4,1},{9,8,0},{9,3,2},{9,8,1},};
				int[] Nstat = new int[] {16,9999999,15,16,16,16,16,9999999,16,16,16,16,47,47,47,47,16,16,32,47,45,45,45,16,16,32,};
				int[] Q = new int[] {3,3,3,3,3,3,3,3,3,3,3,3,9,9,9,9,3,3,6,9,9,9,9,3,3,6,};
				int[][] AC = new int[][] {{93,84},{212,84},{242,84},{87,90},{213,90},{243,90},{88,215},{94,215},{244,215},{89,222},{95,222},{214,222},{84,85},{90,91},{208,209},{209,210},{210,211},{240,241},{86,87},{86,88},{86,89},{92,93},{92,94},{92,95},{211,212},{211,213},{211,214},{241,242},{241,243},{241,244},};
				int[] TL = new int[] {0,2,3,4,6,8,10,11,};
				int[][] CO = new int[][] {{10,2},{10,0},{10,7},{10,4},{10,3},{9,2},{9,0},{9,6},{9,4},{9,3},{2,6},{2,7},{2,3},{0,6},{0,7},{0,4},{6,4},{6,3},{7,4},{7,3},};
				int[][] RT = new int[][] {{1,0},{5,3},{7,8},{9,11},};
				int[] gMIN = new int[] {3,3,1,3,1,3,1,3,3,3,1,3,};
				int[] gMAX = new int[] {10,10,10,10,10,10,10,10,10,10,10,10,};
				double[] B_Car = new double[] {0.35,0.16,0.49,0.12,0.65,0.23,0.01,0.03,0.96,0.01,0.01,0.98,};
				double[] B_Bus = new double[] {1.00,0.00,0.00,1.00,0.00,0.00,0.00,0.00,1.00,0.00,0.00,1.00,};
				int[][] PubPath = new int[][] {{86,87,90,91,},{92,93,84,85,},{208,209,210,211,214,222,},{240,241,244,215,},};
				double[] LB = new double[] {712.81,1057.43,0.00,337.50,-1.00,-1.00,689.50,1045.79,0.00,360.81,-1.00,-1.00,0.00,345.88,691.77,1037.65,-1.00,-1.00,1383.53,1006.74,1735.53,0.00,327.37,-1.00,-1.00,654.74,};
				double[] UB = new double[] {1057.43,1402.05,337.50,689.50,-1.00,-1.00,1045.79,1402.08,360.81,712.81,-1.00,-1.00,345.88,691.77,1037.65,1383.53,-1.00,-1.00,1735.53,1352.27,2063.50,327.37,654.74,-1.00,-1.00,1006.74,};
				int[] Weight = new int[] {22,999,1,5,6,7,23,999,2,8,9,10,3,11,13,17,19,20,21,999,999,4,12,14,15,16,};

				//2. GLOBAL PARAMETERS FOR ALL INTERSECTIONS
				int T = 10;	//optimization time steps
				double FreeV = Math.round(40 * 5280*10/3600)/10.0; //Free flow speed (ft/s)
				double BusSpeedRatio = 0.51; //Ratio of bus speed to free flow speed (less than or equal to 1.0)
				int DeltaT = 6; //Duration of each time step
				double Rho = 0.9; //Adjustment factor for Q for bus presence
				int[] Mode = new int[] {1,2}; //Mode numbers (car, bus)
				double[] ModeOccupancy = new double[] {1.2, 10}; //Occupancy of {car, bus}
				double[] LengthVeh = new double[] {22.0,35.0}; //Vehicle length of each mode (car,bus)
				int[] VehicleTypes = new int[] {100,101,200}; //{Non-Connected Passenger, Connected Passenger, Connected Bus}
				boolean Print = false;

				